package com.efrei.schoolmanager.model;

import java.util.ArrayList;
import java.util.List;

import javax.swing.AbstractListModel;

import com.efrei.schoolmanager.model.obj.Eleve;

/**
 * modele de gestion d'eleves avec ajout et suppression
 */
public class ModeleJListEleves extends AbstractListModel {
	private static final long serialVersionUID = -125765408434369006L;

	private final List<Eleve> eleves = new ArrayList<Eleve>();

	@Override
	public Object getElementAt(int index) {
		return eleves.get(index);
	}

	@Override
	public int getSize() {
		return eleves.size();
	}

	/**
	 * ajoute l'eleve en fin de liste
	 * @param eleve
	 */
	public void addEleve(Eleve eleve) {
		eleves.add(eleve);
		fireIntervalAdded(this, eleves.size() - 1, eleves.size() - 1);
	}

	/**
	 * supprime l'eleve
	 * @param index de ligne où se situe l'eleve
	 */
	public void removeEleve(int index) {
		if (index >= 0 && index < eleves.size()) {
			eleves.remove(index);
			fireIntervalRemoved(this, index, index);
		}
	}

}
